Concepts:
Software Integration
The term "integration" refers to a software development activity in
which separate software components are combined into a whole. Integration is
done at several levels and stages of the implementation:
- Integrating the work of a team working in the same implementation
subsystem, before releasing the subsystem to system integrators.
- Integrating subsystems into a complete system.
The Rational Unified Process approach to integration is that the software is
integrated incrementally. Incremental integration means that
code is written and tested in small pieces, and combined into a working whole,
by adding one piece at a time.
The contrasting approach to incremental integration is phased
integration. Phased integration relies on integrating multiple (new and
changed) components at a time. The major drawback of phased integration is that
it introduces multiple variables and makes it harder to locate errors. This is
due primarily to the fact that an error could be in any one of the new
components, in the interaction between the new components at the core of the
system, or in the interaction between the new components.
The benefits of incremental
integration are that:
- Faults are easy to locate. When a new problem occurs during incremental
integration, the new or changed component, or its interaction with the
previously integrated components, are the obvious place to look for a fault.
Incremental integration also makes it more likely that defects are
discovered one-at-a-time, which makes it easier to identify faults.
- The components are tested more fully. Components are integrated as they
are developed, and then tested. This means that the components are exercised
more times, than if integration is done in one step.
- Something is running earlier. Developers see early results from their
work, which is better for their morale, instead of waiting with everything
until the end. It also makes it possible to get early feedback.
It is important to understand that integration occurs (at least once) within
each and every iteration. An iteration plan defines which use cases to
design, and thus which classes to implement. The focus of the integration
strategy is to determine the order in which classes are implemented, and
combined.
Copyright
⌐ 1987 - 2000 Rational Software Corporation
| |

|